<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::AlgorithmStrategyObject Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  extensions: ["tex2jax.js"],
  jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.15</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classIpopt_1_1AlgorithmStrategyObject.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1AlgorithmStrategyObject-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">Ipopt::AlgorithmStrategyObject Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">

<p>This is the base class for all algorithm strategy objects.  
 <a href="classIpopt_1_1AlgorithmStrategyObject.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::AlgorithmStrategyObject:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1AlgorithmStrategyObject__inherit__graph.png" border="0" usemap="#aIpopt_1_1AlgorithmStrategyObject_inherit__map" alt="Inheritance graph"/></div>
<map name="aIpopt_1_1AlgorithmStrategyObject_inherit__map" id="aIpopt_1_1AlgorithmStrategyObject_inherit__map">
<area shape="rect" title="This is the base class for all algorithm strategy objects." alt="" coords="232,1188,413,1232"/>
<area shape="rect" href="classIpopt_1_1AugSystemSolver.html" title="Base class for Solver for the augmented system." alt="" coords="491,139,668,166"/>
<area shape="poly" title=" " alt="" coords="323,1171,333,1038,356,838,373,724,396,606,424,488,458,373,484,310,514,251,566,165,571,168,519,253,489,312,464,375,429,489,401,607,379,725,361,839,338,1038,328,1172"/>
<area shape="rect" href="classIpopt_1_1BacktrackingLSAcceptor.html" title="Base class for backtracking line search acceptors." alt="" coords="470,385,690,413"/>
<area shape="poly" title=" " alt="" coords="324,1172,339,1023,367,818,385,712,406,615,431,534,459,475,476,454,497,437,541,411,544,416,501,441,480,458,463,478,436,535,411,616,390,713,372,819,344,1024,330,1172"/>
<area shape="rect" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria." alt="" coords="486,488,673,516"/>
<area shape="poly" title=" " alt="" coords="323,1172,335,1030,360,836,378,738,400,649,427,577,442,548,459,527,484,510,487,514,463,530,447,551,432,579,405,651,383,740,365,837,341,1030,329,1172"/>
<area shape="rect" href="classIpopt_1_1EqMultiplierCalculator.html" title="Base Class for objects that compute estimates for the equality constraint multipliers y_c and y_d." alt="" coords="477,540,683,568"/>
<area shape="poly" title=" " alt="" coords="324,1171,338,1039,364,861,382,772,403,691,429,624,443,598,459,579,476,566,479,570,463,582,448,601,434,626,408,692,387,773,369,862,343,1040,329,1172"/>
<area shape="rect" href="classIpopt_1_1GenKKTSolverInterface.html" title="Base class for interfaces to symmetric indefinite linear solvers for generic matrices." alt="" coords="474,592,686,620"/>
<area shape="poly" title=" " alt="" coords="325,1171,340,1049,367,887,385,806,407,732,431,672,459,631,476,618,479,622,463,634,436,674,412,734,390,807,372,888,345,1050,330,1172"/>
<area shape="rect" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information." alt="" coords="497,644,663,672"/>
<area shape="poly" title=" " alt="" coords="326,1172,343,1059,371,913,389,840,410,774,433,719,459,683,476,670,495,662,497,667,479,675,463,686,438,722,415,775,394,841,376,914,348,1060,331,1172"/>
<area shape="rect" href="classIpopt_1_1InexactNewtonNormalStep.html" title="Compute the &quot;Newton&quot; normal step from the (slack&#45;scaled) augmented system." alt="" coords="461,696,698,724"/>
<area shape="poly" title=" " alt="" coords="320,1172,323,1082,330,1025,341,963,359,901,383,839,416,783,459,733,475,722,478,726,463,737,421,786,388,842,364,902,347,965,335,1026,329,1082,325,1172"/>
<area shape="rect" href="classIpopt_1_1InexactNormalStepCalculator.html" title="Base class for computing the normal step for the inexact step calculation algorithm." alt="" coords="486,748,673,792"/>
<area shape="poly" title=" " alt="" coords="323,1172,331,1095,353,996,370,944,394,893,423,845,459,803,484,785,487,790,463,806,427,848,398,895,375,946,358,998,337,1096,328,1173"/>
<area shape="rect" href="classIpopt_1_1InexactPDSolver.html" title="This is the implementation of the Primal&#45;Dual System, allowing the usage of an inexact linear solver." alt="" coords="495,816,664,844"/>
<area shape="poly" title=" " alt="" coords="324,1172,335,1103,358,1018,376,973,398,929,426,889,459,854,476,843,494,836,496,841,478,848,463,859,430,893,403,932,381,975,363,1019,340,1104,330,1173"/>
<area shape="rect" href="classIpopt_1_1IpoptAlgorithm.html" title="The main ipopt algorithm class." alt="" coords="500,868,659,896"/>
<area shape="poly" title=" " alt="" coords="327,1172,341,1113,366,1041,383,1004,405,968,430,935,459,906,478,895,499,887,501,892,481,899,463,911,434,939,409,971,388,1006,371,1043,346,1114,332,1173"/>
<area shape="rect" href="classIpopt_1_1IterateInitializer.html" title="Base class for all methods for initializing the iterates." alt="" coords="497,920,663,948"/>
<area shape="poly" title=" " alt="" coords="331,1172,348,1123,374,1065,411,1007,434,981,460,958,495,941,497,946,462,963,438,985,415,1010,379,1067,353,1125,336,1173"/>
<area shape="rect" href="classIpopt_1_1IterationOutput.html" title="Base class for objects that do the output summary per iteration." alt="" coords="499,972,660,1000"/>
<area shape="poly" title=" " alt="" coords="336,1172,355,1133,383,1089,417,1045,460,1009,498,992,500,997,462,1013,421,1049,387,1092,360,1136,341,1175"/>
<area shape="rect" href="classIpopt_1_1IterativeSolverTerminationTester.html" title="This base class is for the termination tests for the iterative linear solver in the inexact version o..." alt="" coords="462,1024,697,1068"/>
<area shape="poly" title=" " alt="" coords="349,1174,398,1125,428,1100,460,1078,485,1066,487,1071,462,1083,431,1104,401,1129,353,1178"/>
<area shape="rect" href="classIpopt_1_1LineSearch.html" title="Base class for line search objects." alt="" coords="513,1092,646,1120"/>
<area shape="poly" title=" " alt="" coords="369,1177,412,1152,460,1130,512,1115,514,1120,462,1135,415,1157,372,1181"/>
<area shape="rect" href="classIpopt_1_1MetadataMeasurement.html" title=" " alt="" coords="473,1144,687,1172"/>
<area shape="poly" title=" " alt="" coords="428,1186,507,1170,508,1175,429,1191"/>
<area shape="rect" href="classIpopt_1_1MuOracle.html" title="Abstract Base Class for classes that are able to compute a suggested value of the barrier parameter t..." alt="" coords="518,1196,642,1224"/>
<area shape="poly" title=" " alt="" coords="429,1207,517,1207,517,1213,429,1213"/>
<area shape="rect" href="classIpopt_1_1MuUpdate.html" title="Abstract Base Class for classes that implement methods for computing the barrier and fraction&#45;to&#45;the&#45;..." alt="" coords="515,1248,644,1276"/>
<area shape="poly" title=" " alt="" coords="429,1229,515,1246,514,1251,428,1234"/>
<area shape="rect" href="classIpopt_1_1PCalculator.html" title="This class is the interface for implementations of any class that calculates the matrix &#160;of the follo..." alt="" coords="512,1300,648,1328"/>
<area shape="poly" title=" " alt="" coords="372,1238,415,1263,462,1285,512,1299,510,1305,460,1290,412,1268,369,1243"/>
<area shape="rect" href="classIpopt_1_1PDPerturbationHandler.html" title="Class for handling the perturbation factors delta_x, delta_s, delta_c, and delta_d in the primal dual..." alt="" coords="474,1352,685,1380"/>
<area shape="poly" title=" " alt="" coords="353,1242,400,1292,430,1316,462,1337,492,1349,490,1354,460,1342,427,1321,397,1296,349,1246"/>
<area shape="rect" href="classIpopt_1_1PDSystemSolver.html" title="Pure Primal Dual System Solver Base Class." alt="" coords="495,1404,665,1432"/>
<area shape="poly" title=" " alt="" coords="343,1245,363,1280,390,1319,424,1357,462,1389,495,1404,493,1409,460,1393,420,1361,386,1322,359,1282,339,1247"/>
<area shape="rect" href="classIpopt_1_1ReducedHessianCalculator.html" title="This is the interface for the actual controller." alt="" coords="462,1456,698,1484"/>
<area shape="poly" title=" " alt="" coords="338,1246,355,1292,382,1345,417,1397,439,1421,463,1441,484,1453,482,1458,459,1445,435,1425,413,1401,377,1347,350,1294,333,1248"/>
<area shape="rect" href="classIpopt_1_1RestorationPhase.html" title="Base class for different restoration phases." alt="" coords="492,1508,668,1536"/>
<area shape="poly" title=" " alt="" coords="333,1247,348,1302,373,1369,411,1437,435,1467,463,1493,492,1509,490,1514,459,1497,431,1471,407,1440,369,1372,343,1304,328,1248"/>
<area shape="rect" href="classIpopt_1_1SchurDriver.html" title="This class is the interface for any class that deals with the Schur matrix from the point when it is ..." alt="" coords="511,1560,649,1588"/>
<area shape="poly" title=" " alt="" coords="330,1247,342,1312,366,1393,383,1435,405,1476,431,1513,463,1545,485,1559,511,1567,509,1572,483,1564,459,1549,427,1516,400,1478,378,1437,361,1395,337,1313,325,1248"/>
<area shape="rect" href="classIpopt_1_1SearchDirectionCalculator.html" title="Base class for computing the search direction for the line search." alt="" coords="464,1612,695,1640"/>
<area shape="poly" title=" " alt="" coords="328,1247,337,1322,358,1417,376,1466,398,1514,427,1559,463,1597,481,1609,478,1614,459,1601,423,1562,394,1517,371,1468,353,1418,332,1322,323,1248"/>
<area shape="rect" href="classIpopt_1_1SensAlgorithm.html" title="This is the interface for the actual controller." alt="" coords="501,1664,658,1692"/>
<area shape="poly" title=" " alt="" coords="326,1247,332,1331,339,1384,351,1440,369,1497,392,1553,423,1604,463,1649,481,1662,502,1670,500,1675,478,1666,459,1653,419,1608,388,1555,364,1499,346,1441,334,1384,327,1332,321,1248"/>
<area shape="rect" href="classIpopt_1_1SensBacksolver.html" title=" " alt="" coords="497,1716,662,1744"/>
<area shape="poly" title=" " alt="" coords="332,1247,350,1353,378,1490,396,1557,417,1619,439,1668,463,1701,479,1713,498,1721,496,1726,476,1718,459,1705,434,1671,412,1621,391,1559,373,1491,344,1354,326,1248"/>
<area shape="rect" href="classIpopt_1_1SensitivityStepCalculator.html" title="This is the interface for the classes that perform the actual step." alt="" coords="467,1768,693,1796"/>
<area shape="poly" title=" " alt="" coords="331,1248,347,1364,375,1516,393,1592,414,1660,437,1716,463,1753,479,1765,476,1769,459,1757,432,1719,409,1662,388,1593,369,1517,342,1365,325,1248"/>
<area shape="rect" href="classIpopt_1_1SparseSymLinearSolverInterface.html" title="Base class for interfaces to symmetric indefinite linear solvers for sparse matrices." alt="" coords="472,1820,688,1864"/>
<area shape="poly" title=" " alt="" coords="330,1247,345,1373,372,1540,390,1624,412,1701,436,1763,463,1805,477,1817,473,1821,459,1809,431,1765,407,1702,385,1626,367,1541,340,1374,325,1248"/>
<area shape="rect" href="classIpopt_1_1SymLinearSolver.html" title="Base class for all derived symmetric linear solvers." alt="" coords="494,1888,666,1916"/>
<area shape="poly" title=" " alt="" coords="329,1247,341,1387,366,1576,384,1671,406,1757,432,1828,447,1854,463,1875,477,1886,494,1893,492,1898,475,1890,459,1878,443,1857,427,1830,401,1759,379,1672,361,1576,336,1387,323,1248"/>
<area shape="rect" href="classIpopt_1_1TDependencyDetector.html" title="Base class for all derived algorithms for detecting linearly dependent rows in the constraint Jacobia..." alt="" coords="476,1940,683,1968"/>
<area shape="poly" title=" " alt="" coords="328,1248,339,1396,363,1600,381,1704,403,1797,430,1874,446,1903,463,1925,478,1937,475,1941,459,1929,442,1906,426,1876,398,1799,376,1705,358,1601,334,1397,323,1248"/>
<area shape="rect" href="classIpopt_1_1TSymScalingMethod.html" title="Base class for the method for computing scaling factors for symmetric matrices in triplet format." alt="" coords="482,1992,677,2020"/>
<area shape="poly" title=" " alt="" coords="328,1248,337,1406,360,1625,377,1737,400,1839,428,1922,445,1953,463,1977,483,1992,480,1996,459,1981,440,1956,424,1924,395,1840,372,1738,354,1626,332,1406,322,1248"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="5,1196,184,1224"/>
<area shape="poly" title=" " alt="" coords="200,1207,231,1207,231,1213,200,1213"/>
<area shape="rect" href="classIpopt_1_1AugRestoSystemSolver.html" title="Class that converts an augmented system with compound restoration pieces into a smaller &quot;pivoted&quot; sys..." alt="" coords="763,5,977,33"/>
<area shape="poly" title=" " alt="" coords="609,127,670,84,707,62,745,43,782,31,784,36,747,48,709,67,673,88,612,131"/>
<area shape="rect" href="classIpopt_1_1GenAugSystemSolver.html" title="Solver for the augmented system using GenKKTSolverInterfaces." alt="" coords="768,57,972,85"/>
<area shape="poly" title=" " alt="" coords="634,130,746,95,796,83,797,88,747,100,636,136"/>
<area shape="rect" href="classIpopt_1_1LowRankAugSystemSolver.html" title="Solver for the augmented system with LowRankUpdateSymMatrix Hessian matrices." alt="" coords="752,109,988,137"/>
<area shape="poly" title=" " alt="" coords="684,139,751,132,752,138,684,145"/>
<area shape="rect" href="classIpopt_1_1LowRankSSAugSystemSolver.html" title="Solver for the augmented system with LowRankUpdateSymMatrix Hessian matrices." alt="" coords="764,161,976,206"/>
<area shape="poly" title=" " alt="" coords="684,161,764,169,763,175,684,166"/>
<area shape="rect" href="classIpopt_1_1StdAugSystemSolver.html" title="Solver for the augmented system for triple type matrices." alt="" coords="771,229,969,257"/>
<area shape="poly" title=" " alt="" coords="627,170,684,194,747,215,790,226,789,231,746,220,682,199,625,175"/>
<area shape="rect" href="classIpopt_1_1CGPenaltyLSAcceptor.html" title="Line search acceptor, based on the Chen&#45;Goldfarb penalty function approach." alt="" coords="768,281,972,309"/>
<area shape="poly" title=" " alt="" coords="619,375,678,346,745,319,790,307,791,312,747,324,680,351,622,380"/>
<area shape="rect" href="classIpopt_1_1FilterLSAcceptor.html" title="Filter line search procedure." alt="" coords="786,333,954,361"/>
<area shape="poly" title=" " alt="" coords="675,379,788,359,789,364,676,385"/>
<area shape="rect" href="classIpopt_1_1InexactLSAcceptor.html" title="Penalty function line search for the inexact step algorithm version." alt="" coords="778,385,962,413"/>
<area shape="poly" title=" " alt="" coords="705,397,778,397,778,402,705,402"/>
<area shape="rect" href="classIpopt_1_1PenaltyLSAcceptor.html" title="Penalty function line search." alt="" coords="778,437,962,465"/>
<area shape="poly" title=" " alt="" coords="676,414,789,434,788,439,675,419"/>
<area shape="rect" href="classIpopt_1_1OptimalityErrorConvergenceCheck.html" title=" " alt="" coords="746,489,994,534"/>
<area shape="poly" title=" " alt="" coords="689,503,746,505,746,510,689,508"/>
<area shape="rect" href="classIpopt_1_1LeastSquareMultipliers.html" title="Class for calculator for the least&#45;square equality constraint multipliers." alt="" coords="764,557,976,585"/>
<area shape="poly" title=" " alt="" coords="698,558,764,562,764,568,698,564"/>
<area shape="rect" href="classIpopt_1_1ExactHessianUpdater.html" title="Implementation of the HessianUpdater for the use of exact second derivatives." alt="" coords="769,619,971,646"/>
<area shape="poly" title=" " alt="" coords="678,647,768,639,769,644,679,652"/>
<area shape="rect" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html" title="Implementation of the HessianUpdater for limit&#45;memory quasi&#45;Newton approximation of the Lagrangian He..." alt="" coords="767,670,973,715"/>
<area shape="poly" title=" " alt="" coords="679,667,767,678,766,683,678,672"/>
<area shape="rect" href="classIpopt_1_1InexactDoglegNormalStep.html" title="Compute the normal step using a dogleg approach." alt="" coords="753,756,987,784"/>
<area shape="poly" title=" " alt="" coords="689,767,753,767,753,773,689,773"/>
<area shape="rect" href="classIpopt_1_1DefaultIterateInitializer.html" title="Class implementing the default initialization procedure (based on user options) for the iterates." alt="" coords="763,895,977,922"/>
<area shape="poly" title=" " alt="" coords="678,923,762,915,763,920,679,928"/>
<area shape="rect" href="classIpopt_1_1RestoIterateInitializer.html" title="Class implementing the default initialization procedure (based on user options) for the iterates." alt="" coords="768,947,972,974"/>
<area shape="poly" title=" " alt="" coords="679,940,768,948,768,954,678,946"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa2cb1ac4ea5b97c9283bc0fdb71da1d1" id="r_aa2cb1ac4ea5b97c9283bc0fdb71da1d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aa2cb1ac4ea5b97c9283bc0fdb71da1d1">Initialize</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">jnlst</a>, <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_nlp</a>, <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_data</a>, <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_cq</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)</td></tr>
<tr class="memdesc:aa2cb1ac4ea5b97c9283bc0fdb71da1d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called every time the algorithm starts again - it is used to reset any internal state.  <br /></td></tr>
<tr class="separator:aa2cb1ac4ea5b97c9283bc0fdb71da1d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac624e5a883f5c655cb0abbaa24eafcf9" id="r_ac624e5a883f5c655cb0abbaa24eafcf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ac624e5a883f5c655cb0abbaa24eafcf9">ReducedInitialize</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">jnlst</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)</td></tr>
<tr class="memdesc:ac624e5a883f5c655cb0abbaa24eafcf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduced version of the Initialize method, which does not require special <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a> information.  <br /></td></tr>
<tr class="separator:ac624e5a883f5c655cb0abbaa24eafcf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors/Destructors</div></td></tr>
<tr class="memitem:af2d972f86eec83a96682bd6741a1d265" id="r_af2d972f86eec83a96682bd6741a1d265"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#af2d972f86eec83a96682bd6741a1d265">AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:af2d972f86eec83a96682bd6741a1d265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:af2d972f86eec83a96682bd6741a1d265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea25a150f7488885653c082eca5dab45" id="r_aea25a150f7488885653c082eca5dab45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aea25a150f7488885653c082eca5dab45">~AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:aea25a150f7488885653c082eca5dab45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:aea25a150f7488885653c082eca5dab45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_a5c0f2208e3ead22bf7c5179381ed8203"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_adbbf3aa5307da62ab8224ba599d4bd7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aac517534e10e36c946aeefc6fe337777"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aa69ecb0f026bd741e2fa84c31d4ec332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_ae6c952e7d1a63080dc8f121c008944fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a6e5ef59a257a61c928515ea78fd5c148" id="r_a6e5ef59a257a61c928515ea78fd5c148"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a6e5ef59a257a61c928515ea78fd5c148">InitializeImpl</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)=0</td></tr>
<tr class="memdesc:a6e5ef59a257a61c928515ea78fd5c148"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of the initialization method that has to be overloaded by for each derived class.  <br /></td></tr>
<tr class="separator:a6e5ef59a257a61c928515ea78fd5c148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessor methods for the problem defining objects.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Those should be used by the derived classes. </p>
</div></td></tr>
<tr class="memitem:ada99d79edf49ae7d487ad2c3b63b82af" id="r_ada99d79edf49ae7d487ad2c3b63b82af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ada99d79edf49ae7d487ad2c3b63b82af">Jnlst</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:ada99d79edf49ae7d487ad2c3b63b82af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7ef129a410b51b3db14a12dea1fd03" id="r_add7ef129a410b51b3db14a12dea1fd03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#add7ef129a410b51b3db14a12dea1fd03">IpNLP</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:add7ef129a410b51b3db14a12dea1fd03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a097ab7f6103c3345324a257914fff29a" id="r_a097ab7f6103c3345324a257914fff29a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a097ab7f6103c3345324a257914fff29a">IpData</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a097ab7f6103c3345324a257914fff29a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9330e92f6c2fdabb9741d218d9c64f35" id="r_a9330e92f6c2fdabb9741d218d9c64f35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a9330e92f6c2fdabb9741d218d9c64f35">IpCq</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a9330e92f6c2fdabb9741d218d9c64f35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6310084b90871ee4eec3d89bb407ee" id="r_a5f6310084b90871ee4eec3d89bb407ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a5f6310084b90871ee4eec3d89bb407ee">HaveIpData</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a5f6310084b90871ee4eec3d89bb407ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>(Hidden to avoid implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a662778d37614c58bd7299260fd54a401" id="r_a662778d37614c58bd7299260fd54a401"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a662778d37614c58bd7299260fd54a401">AlgorithmStrategyObject</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">AlgorithmStrategyObject</a> &amp;)</td></tr>
<tr class="memdesc:a662778d37614c58bd7299260fd54a401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:a662778d37614c58bd7299260fd54a401"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8f8775cc10dc0a3ff91ec345e3affe" id="r_a5f8f8775cc10dc0a3ff91ec345e3affe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a5f8f8775cc10dc0a3ff91ec345e3affe">operator=</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">AlgorithmStrategyObject</a> &amp;)</td></tr>
<tr class="memdesc:a5f8f8775cc10dc0a3ff91ec345e3affe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <br /></td></tr>
<tr class="separator:a5f8f8775cc10dc0a3ff91ec345e3affe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a71fb1af37ead96891f9508b5df8ce5d6" id="r_a71fb1af37ead96891f9508b5df8ce5d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a71fb1af37ead96891f9508b5df8ce5d6">initialize_called_</a></td></tr>
<tr class="memdesc:a71fb1af37ead96891f9508b5df8ce5d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag indicating if Initialize method has been called (for debugging)  <br /></td></tr>
<tr class="separator:a71fb1af37ead96891f9508b5df8ce5d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Pointers to objects defining a particular optimization problem</div></td></tr>
<tr class="memitem:ac9932c9aa490964fad96c38e5cb15a11" id="r_ac9932c9aa490964fad96c38e5cb15a11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ac9932c9aa490964fad96c38e5cb15a11">jnlst_</a></td></tr>
<tr class="separator:ac9932c9aa490964fad96c38e5cb15a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52e6df16538cc859e99cb764e67b9acf" id="r_a52e6df16538cc859e99cb764e67b9acf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a52e6df16538cc859e99cb764e67b9acf">ip_nlp_</a></td></tr>
<tr class="separator:a52e6df16538cc859e99cb764e67b9acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300fab52e53ccee1223bfaa1585129db" id="r_a300fab52e53ccee1223bfaa1585129db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a300fab52e53ccee1223bfaa1585129db">ip_data_</a></td></tr>
<tr class="separator:a300fab52e53ccee1223bfaa1585129db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c339999b0232bdaefc1fb7c623ad761" id="r_a1c339999b0232bdaefc1fb7c623ad761"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a1c339999b0232bdaefc1fb7c623ad761">ip_cq_</a></td></tr>
<tr class="separator:a1c339999b0232bdaefc1fb7c623ad761"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is the base class for all algorithm strategy objects. </p>
<p>The <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects.">AlgorithmStrategyObject</a> base class implements a common interface for all algorithm strategy objects. A strategy object is a component of the algorithm for which different alternatives or implementations exists. It allows to compose the algorithm before execution for a particular configuration, without the need to call alternatives based on enums. For example, the <a class="el" href="classIpopt_1_1LineSearch.html" title="Base class for line search objects.">LineSearch</a> object is a strategy object, since different line search options might be used for different runs.</p>
<p>This interface is used for things that are done to all strategy objects, like initialization and setting options. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00034">34</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af2d972f86eec83a96682bd6741a1d265" name="af2d972f86eec83a96682bd6741a1d265"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2d972f86eec83a96682bd6741a1d265">&#9670;&#160;</a></span>AlgorithmStrategyObject() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::AlgorithmStrategyObject::AlgorithmStrategyObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00040">40</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="aea25a150f7488885653c082eca5dab45" name="aea25a150f7488885653c082eca5dab45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea25a150f7488885653c082eca5dab45">&#9670;&#160;</a></span>~AlgorithmStrategyObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> Ipopt::AlgorithmStrategyObject::~AlgorithmStrategyObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00045">45</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a662778d37614c58bd7299260fd54a401" name="a662778d37614c58bd7299260fd54a401"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a662778d37614c58bd7299260fd54a401">&#9670;&#160;</a></span>AlgorithmStrategyObject() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::AlgorithmStrategyObject::AlgorithmStrategyObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">AlgorithmStrategyObject</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor. </p>
<p>Copy Constructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa2cb1ac4ea5b97c9283bc0fdb71da1d1" name="aa2cb1ac4ea5b97c9283bc0fdb71da1d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2cb1ac4ea5b97c9283bc0fdb71da1d1">&#9670;&#160;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::AlgorithmStrategyObject::Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td>
          <td class="paramname"><em>ip_nlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;&#160;</td>
          <td class="paramname"><em>ip_cq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is called every time the algorithm starts again - it is used to reset any internal state. </p>
<p>The pointers to the <a class="el" href="classIpopt_1_1Journalist.html" title="Class responsible for all message output.">Journalist</a>, as well as to the <a class="el" href="classIpopt_1_1IpoptNLP.html" title="This is the abstract base class for classes that map the traditional NLP into something that is more ...">IpoptNLP</a>, <a class="el" href="classIpopt_1_1IpoptData.html" title="Class to organize all the data required by the algorithm.">IpoptData</a>, and <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html" title="Class for all IPOPT specific calculated quantities.">IpoptCalculatedQuantities</a> objects should be stored in the instantiation of this base class. This method is also used to get all required user options from the <a class="el" href="classIpopt_1_1OptionsList.html" title="This class stores a list of user set options.">OptionsList</a>. Here, if prefix is given, each tag (identifying the options) is first looked for with the prefix in front, and if not found, without the prefix. Note: you should not cue off of the iteration count to indicate the "start" of an algorithm!</p>
<p>Do not overload this method, since it does some general initialization that is common for all strategy objects. Overload the protected InitializeImpl method instead. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00066">66</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="ac624e5a883f5c655cb0abbaa24eafcf9" name="ac624e5a883f5c655cb0abbaa24eafcf9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac624e5a883f5c655cb0abbaa24eafcf9">&#9670;&#160;</a></span>ReducedInitialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::AlgorithmStrategyObject::ReducedInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reduced version of the Initialize method, which does not require special <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a> information. </p>
<p>This is useful for algorithm objects that could be used outside <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a>, such as linear solvers. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00097">97</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a6e5ef59a257a61c928515ea78fd5c148" name="a6e5ef59a257a61c928515ea78fd5c148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e5ef59a257a61c928515ea78fd5c148">&#9670;&#160;</a></span>InitializeImpl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::AlgorithmStrategyObject::InitializeImpl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implementation of the initialization method that has to be overloaded by for each derived class. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1PCalculator.html#acc7e28a3c63d60d0ecf004d4a2c6a31e">Ipopt::PCalculator</a>, <a class="el" href="classIpopt_1_1SchurDriver.html#ae0719399a2e261c63d776a3b3f9f87c6">Ipopt::SchurDriver</a>, <a class="el" href="classIpopt_1_1SensAlgorithm.html#a8f27183ded89fe7e278260e400e7fc73">Ipopt::SensAlgorithm</a>, <a class="el" href="classIpopt_1_1IndexPCalculator.html#a2fcbfba028be182f7d92bddccf5e507f">Ipopt::IndexPCalculator</a>, <a class="el" href="classIpopt_1_1MetadataMeasurement.html#ae835a07c5bf9d8bde02bd02da558c767">Ipopt::MetadataMeasurement</a>, <a class="el" href="classIpopt_1_1ReducedHessianCalculator.html#a5cab5c18fd935bbaa1c51f9c3b09bbc3">Ipopt::ReducedHessianCalculator</a>, <a class="el" href="classIpopt_1_1SimpleBacksolver.html#af7b3d6149202d6e4be2bc27dfe983820">Ipopt::SimpleBacksolver</a>, <a class="el" href="classIpopt_1_1StdStepCalculator.html#aac6bcd1d822045387f96379c60d906c6">Ipopt::StdStepCalculator</a>, <a class="el" href="classIpopt_1_1SensitivityStepCalculator.html#ad0330778dd37df229d5b750908228390">Ipopt::SensitivityStepCalculator</a>, <a class="el" href="classIpopt_1_1InexactDoglegNormalStep.html#af398a15724d7a1768f8e6cb3f83519b4">Ipopt::InexactDoglegNormalStep</a>, <a class="el" href="classIpopt_1_1InexactLSAcceptor.html#a2e09513cc109cdc350ce854eddc134b4">Ipopt::InexactLSAcceptor</a>, <a class="el" href="classIpopt_1_1InexactNewtonNormalStep.html#a62d6be75932e51084dd0c9d0b380da2d">Ipopt::InexactNewtonNormalStep</a>, <a class="el" href="classIpopt_1_1InexactNormalTerminationTester.html#ad0c580856fc2611bc1a8abedf770cc44">Ipopt::InexactNormalTerminationTester</a>, <a class="el" href="classIpopt_1_1InexactPDSolver.html#aab927b8bd5688eee5c4780e38f706279">Ipopt::InexactPDSolver</a>, <a class="el" href="classIpopt_1_1InexactPDTerminationTester.html#ad07644fc6f4f1cb99651d42debcddd83">Ipopt::InexactPDTerminationTester</a>, <a class="el" href="classIpopt_1_1InexactSearchDirCalculator.html#a9b1f96972b2c736f6ab1c076c5338af4">Ipopt::InexactSearchDirCalculator</a>, <a class="el" href="classIpopt_1_1InexactTSymScalingMethod.html#a01542d415dfb7aed6abc27c770313ca7">Ipopt::InexactTSymScalingMethod</a>, <a class="el" href="classIpopt_1_1IterativePardisoSolverInterface.html#a7546f5099489c1170e2706a143f20dc9">Ipopt::IterativePardisoSolverInterface</a>, <a class="el" href="classIpopt_1_1AdaptiveMuUpdate.html#ab659df8dbf5e920da2179691e01b85a6">Ipopt::AdaptiveMuUpdate</a>, <a class="el" href="classIpopt_1_1AugRestoSystemSolver.html#a324a672f4b86ce15c20edb84efd127fd">Ipopt::AugRestoSystemSolver</a>, <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae8f08335c6bc1e52057c3ae4f33988a9">Ipopt::BacktrackingLineSearch</a>, <a class="el" href="classIpopt_1_1DefaultIterateInitializer.html#a4b82b3f9ee7cb911e3036616499b8a70">Ipopt::DefaultIterateInitializer</a>, <a class="el" href="classIpopt_1_1ExactHessianUpdater.html#a27ca3ad77a09c7f9b8aaa0ab660bbe1a">Ipopt::ExactHessianUpdater</a>, <a class="el" href="classIpopt_1_1FilterLSAcceptor.html#a2810cc21f720a6da1dcf2e73c5cb911b">Ipopt::FilterLSAcceptor</a>, <a class="el" href="classIpopt_1_1GenAugSystemSolver.html#a20524a3e18b17b1b74554c386f64f491">Ipopt::GenAugSystemSolver</a>, <a class="el" href="classIpopt_1_1IpoptAlgorithm.html#a9ad444afb80b4980eec246c05c0e0c41">Ipopt::IpoptAlgorithm</a>, <a class="el" href="classIpopt_1_1LeastSquareMultipliers.html#aa9464bd68e3ceeb7fa2fc4703397a2a9">Ipopt::LeastSquareMultipliers</a>, <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ab6b064e5eff0e16c4aa83983070f20a6">Ipopt::LimMemQuasiNewtonUpdater</a>, <a class="el" href="classIpopt_1_1LoqoMuOracle.html#ad5ea5a85622a64f25eed3bef30875172">Ipopt::LoqoMuOracle</a>, <a class="el" href="classIpopt_1_1LowRankAugSystemSolver.html#ace2df16930e390fd483b14a2f18ae82d">Ipopt::LowRankAugSystemSolver</a>, <a class="el" href="classIpopt_1_1LowRankSSAugSystemSolver.html#a9f4ef32d3157b78fca34b341642acc2e">Ipopt::LowRankSSAugSystemSolver</a>, <a class="el" href="classIpopt_1_1MonotoneMuUpdate.html#a2310360471a149e0e2b5719b1ca1c120">Ipopt::MonotoneMuUpdate</a>, <a class="el" href="classIpopt_1_1OptimalityErrorConvergenceCheck.html#ab8402c4dc24e07747e3d0427182aea0b">Ipopt::OptimalityErrorConvergenceCheck</a>, <a class="el" href="classIpopt_1_1OrigIterationOutput.html#a73234ca66e5786bd0aae9898c9a21157">Ipopt::OrigIterationOutput</a>, <a class="el" href="classIpopt_1_1PDFullSpaceSolver.html#a6b4a9a6ca82231501bc7920be254100c">Ipopt::PDFullSpaceSolver</a>, <a class="el" href="classIpopt_1_1PDPerturbationHandler.html#a24dc8e8550d73d5b1d6563b7f69f8d40">Ipopt::PDPerturbationHandler</a>, <a class="el" href="classIpopt_1_1PDSearchDirCalculator.html#a25b49874d3863a95e529a912d1eee128">Ipopt::PDSearchDirCalculator</a>, <a class="el" href="classIpopt_1_1PenaltyLSAcceptor.html#a92cb18fe9b1cb982b0ecda50bb5d6d27">Ipopt::PenaltyLSAcceptor</a>, <a class="el" href="classIpopt_1_1ProbingMuOracle.html#a6c70ce206ec59a715515646a4f3d246c">Ipopt::ProbingMuOracle</a>, <a class="el" href="classIpopt_1_1QualityFunctionMuOracle.html#aaf4fda023368a3251084851410a771ef">Ipopt::QualityFunctionMuOracle</a>, <a class="el" href="classIpopt_1_1RestoConvergenceCheck.html#a8be6f4e4eb42c4293ab21a0274ad537b">Ipopt::RestoConvergenceCheck</a>, <a class="el" href="classIpopt_1_1RestoFilterConvergenceCheck.html#aa03cf0705dffe108c394ec38207189eb">Ipopt::RestoFilterConvergenceCheck</a>, <a class="el" href="classIpopt_1_1RestoIterateInitializer.html#aba9755c541cada19fd0fcaf8311eeda5">Ipopt::RestoIterateInitializer</a>, <a class="el" href="classIpopt_1_1RestoIterationOutput.html#a26b7e153f124175f5e0a0d8b908efcf5">Ipopt::RestoIterationOutput</a>, <a class="el" href="classIpopt_1_1MinC__1NrmRestorationPhase.html#a220131e265b5e063335bed8ec0d08b58">Ipopt::MinC_1NrmRestorationPhase</a>, <a class="el" href="classIpopt_1_1RestoPenaltyConvergenceCheck.html#a5ebe96a9bd39a749cd76e76e5b15f0ee">Ipopt::RestoPenaltyConvergenceCheck</a>, <a class="el" href="classIpopt_1_1RestoRestorationPhase.html#acf47ce58a94e2ece8933e9fe79eda9c3">Ipopt::RestoRestorationPhase</a>, <a class="el" href="classIpopt_1_1StdAugSystemSolver.html#a42969bb950e7bd304dd84d9e989c0bde">Ipopt::StdAugSystemSolver</a>, <a class="el" href="classIpopt_1_1WarmStartIterateInitializer.html#a179cc5339d9ac55f8d5686a57b18c904">Ipopt::WarmStartIterateInitializer</a>, <a class="el" href="classIpopt_1_1IterativeWsmpSolverInterface.html#ae79b16c31635b4cce33db647558fb65b">Ipopt::IterativeWsmpSolverInterface</a>, <a class="el" href="classIpopt_1_1Ma27TSolverInterface.html#a08b9b2fa8c0f426503363f810405f56b">Ipopt::Ma27TSolverInterface</a>, <a class="el" href="classIpopt_1_1Ma28TDependencyDetector.html#a1d31d513b1f536f7d068dd3649f81302">Ipopt::Ma28TDependencyDetector</a>, <a class="el" href="classIpopt_1_1Ma57TSolverInterface.html#a7fa4469131358f80f68b097da9753f95">Ipopt::Ma57TSolverInterface</a>, <a class="el" href="classIpopt_1_1Ma77SolverInterface.html#a07059e451225cff016acde278e870190">Ipopt::Ma77SolverInterface</a>, <a class="el" href="classIpopt_1_1Ma86SolverInterface.html#a35479d2260dd4a24f267ff510e647f7e">Ipopt::Ma86SolverInterface</a>, <a class="el" href="classIpopt_1_1Ma97SolverInterface.html#aae916f5d351adf0b0c972fbcbc2abe81">Ipopt::Ma97SolverInterface</a>, <a class="el" href="classIpopt_1_1Mc19TSymScalingMethod.html#aefe48031b8927d812eb9d7e0f997b0df">Ipopt::Mc19TSymScalingMethod</a>, <a class="el" href="classIpopt_1_1MumpsSolverInterface.html#aa821cf1e57f5198fa72f28580c6bb574">Ipopt::MumpsSolverInterface</a>, <a class="el" href="classIpopt_1_1PardisoMKLSolverInterface.html#afa2d9d099f4153e2d93b1f98d9588771">Ipopt::PardisoMKLSolverInterface</a>, <a class="el" href="classIpopt_1_1PardisoSolverInterface.html#ac22739903dfdad5c2627eff5c925f49b">Ipopt::PardisoSolverInterface</a>, <a class="el" href="classIpopt_1_1SlackBasedTSymScalingMethod.html#ab8308741127c896501f57f27f7c0c05e">Ipopt::SlackBasedTSymScalingMethod</a>, <a class="el" href="classIpopt_1_1SpralSolverInterface.html#a3819a97a4a726657c3c9ad4146691e53">Ipopt::SpralSolverInterface</a>, <a class="el" href="classIpopt_1_1TSymDependencyDetector.html#ab379bc6cffe6118ef51c137639e26c7d">Ipopt::TSymDependencyDetector</a>, <a class="el" href="classIpopt_1_1TSymLinearSolver.html#a80fad49c3c418396904f8e92859e2c36">Ipopt::TSymLinearSolver</a>, <a class="el" href="classIpopt_1_1WsmpSolverInterface.html#a8d3abda2c7e95182c5328aac23659562">Ipopt::WsmpSolverInterface</a>, <a class="el" href="classIpopt_1_1CGPenaltyLSAcceptor.html#af6e9420c32f7f4d514dbbee7d31ef19f">Ipopt::CGPenaltyLSAcceptor</a>, <a class="el" href="classIpopt_1_1CGPerturbationHandler.html#a13b5c8dba214a6f3711792700c4741a7">Ipopt::CGPerturbationHandler</a>, <a class="el" href="classIpopt_1_1CGSearchDirCalculator.html#a613c1fea7676890a6fa952feeef8d3ea">Ipopt::CGSearchDirCalculator</a>, <a class="el" href="classIpopt_1_1InexactNormalStepCalculator.html#a5097b990160db54ded3d2e58222e28dd">Ipopt::InexactNormalStepCalculator</a>, <a class="el" href="classIpopt_1_1IterativeSolverTerminationTester.html#abbc5ff91e3bec58b6dba94b1d3c463bd">Ipopt::IterativeSolverTerminationTester</a>, <a class="el" href="classIpopt_1_1AugSystemSolver.html#ab4e182094fc0f28b1f24ee13014d13e5">Ipopt::AugSystemSolver</a>, <a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html#a8751601ac6d73a8afe8253db6300fc7d">Ipopt::BacktrackingLSAcceptor</a>, <a class="el" href="classIpopt_1_1ConvergenceCheck.html#ad47fb4b92561c7b05bd5a145878c90bf">Ipopt::ConvergenceCheck</a>, <a class="el" href="classIpopt_1_1EqMultiplierCalculator.html#ab9601ff84ca96a788995fd04c4d775f1">Ipopt::EqMultiplierCalculator</a>, <a class="el" href="classIpopt_1_1HessianUpdater.html#a703e4acf951f7fce479fb346dada6fc8">Ipopt::HessianUpdater</a>, <a class="el" href="classIpopt_1_1IterateInitializer.html#a6671aa37d66b209be707ac41d8c26626">Ipopt::IterateInitializer</a>, <a class="el" href="classIpopt_1_1IterationOutput.html#abd2bd5bca18a9c5838ebfc91292e0515">Ipopt::IterationOutput</a>, <a class="el" href="classIpopt_1_1MuOracle.html#a046083be909dc54e3468484fd35301a0">Ipopt::MuOracle</a>, <a class="el" href="classIpopt_1_1MuUpdate.html#a69cd4d61fc02814e9937cbcfdbc76270">Ipopt::MuUpdate</a>, <a class="el" href="classIpopt_1_1PDSystemSolver.html#acfd01ecfb821d7577e5e6f71a3e11f7d">Ipopt::PDSystemSolver</a>, <a class="el" href="classIpopt_1_1RestorationPhase.html#ad1633c87542a791b88d3640d20b3c71b">Ipopt::RestorationPhase</a>, <a class="el" href="classIpopt_1_1SearchDirectionCalculator.html#a5dae9d951413f50cccffc0d9d4e54238">Ipopt::SearchDirectionCalculator</a>, <a class="el" href="classIpopt_1_1GenKKTSolverInterface.html#a4e40b8f8046b588ef3f9c703dd0a35f9">Ipopt::GenKKTSolverInterface</a>, <a class="el" href="classIpopt_1_1SparseSymLinearSolverInterface.html#a667325ec88127e074ae76458d3500da3">Ipopt::SparseSymLinearSolverInterface</a>, <a class="el" href="classIpopt_1_1SymLinearSolver.html#a79e41f34d48095b7007784e8a3c60974">Ipopt::SymLinearSolver</a>, <a class="el" href="classIpopt_1_1TDependencyDetector.html#a58043fbce376c192beacca789b6c926e">Ipopt::TDependencyDetector</a>, and <a class="el" href="classIpopt_1_1TSymScalingMethod.html#a0575fc1ffc6c32ec3975cff6d13a2981">Ipopt::TSymScalingMethod</a>.</p>

</div>
</div>
<a id="ada99d79edf49ae7d487ad2c3b63b82af" name="ada99d79edf49ae7d487ad2c3b63b82af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada99d79edf49ae7d487ad2c3b63b82af">&#9670;&#160;</a></span>Jnlst()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp; Ipopt::AlgorithmStrategyObject::Jnlst </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00133">133</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="add7ef129a410b51b3db14a12dea1fd03" name="add7ef129a410b51b3db14a12dea1fd03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add7ef129a410b51b3db14a12dea1fd03">&#9670;&#160;</a></span>IpNLP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp; Ipopt::AlgorithmStrategyObject::IpNLP </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00138">138</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a097ab7f6103c3345324a257914fff29a" name="a097ab7f6103c3345324a257914fff29a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a097ab7f6103c3345324a257914fff29a">&#9670;&#160;</a></span>IpData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp; Ipopt::AlgorithmStrategyObject::IpData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00144">144</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a9330e92f6c2fdabb9741d218d9c64f35" name="a9330e92f6c2fdabb9741d218d9c64f35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9330e92f6c2fdabb9741d218d9c64f35">&#9670;&#160;</a></span>IpCq()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp; Ipopt::AlgorithmStrategyObject::IpCq </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00150">150</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a5f6310084b90871ee4eec3d89bb407ee" name="a5f6310084b90871ee4eec3d89bb407ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f6310084b90871ee4eec3d89bb407ee">&#9670;&#160;</a></span>HaveIpData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::AlgorithmStrategyObject::HaveIpData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00156">156</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a5f8f8775cc10dc0a3ff91ec345e3affe" name="a5f8f8775cc10dc0a3ff91ec345e3affe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f8f8775cc10dc0a3ff91ec345e3affe">&#9670;&#160;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::AlgorithmStrategyObject::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">AlgorithmStrategyObject</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac9932c9aa490964fad96c38e5cb15a11" name="ac9932c9aa490964fad96c38e5cb15a11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9932c9aa490964fad96c38e5cb15a11">&#9670;&#160;</a></span>jnlst_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a>&gt; Ipopt::AlgorithmStrategyObject::jnlst_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00189">189</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a52e6df16538cc859e99cb764e67b9acf" name="a52e6df16538cc859e99cb764e67b9acf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52e6df16538cc859e99cb764e67b9acf">&#9670;&#160;</a></span>ip_nlp_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a>&gt; Ipopt::AlgorithmStrategyObject::ip_nlp_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00190">190</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a300fab52e53ccee1223bfaa1585129db" name="a300fab52e53ccee1223bfaa1585129db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a300fab52e53ccee1223bfaa1585129db">&#9670;&#160;</a></span>ip_data_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a>&gt; Ipopt::AlgorithmStrategyObject::ip_data_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00191">191</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a1c339999b0232bdaefc1fb7c623ad761" name="a1c339999b0232bdaefc1fb7c623ad761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c339999b0232bdaefc1fb7c623ad761">&#9670;&#160;</a></span>ip_cq_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a>&gt; Ipopt::AlgorithmStrategyObject::ip_cq_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00192">192</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<a id="a71fb1af37ead96891f9508b5df8ce5d6" name="a71fb1af37ead96891f9508b5df8ce5d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71fb1af37ead96891f9508b5df8ce5d6">&#9670;&#160;</a></span>initialize_called_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::AlgorithmStrategyObject::initialize_called_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>flag indicating if Initialize method has been called (for debugging) </p>

<p class="definition">Definition at line <a class="el" href="IpAlgStrategy_8hpp_source.html#l00196">196</a> of file <a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Algorithm/<a class="el" href="IpAlgStrategy_8hpp_source.html">IpAlgStrategy.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
